0 Prolog
↳1 PrologToDTProblemTransformerProof (⇒, 87 ms)
↳2 TRIPLES
↳3 TriplesToPiDPProof (⇒, 0 ms)
↳4 PiDP
↳5 DependencyGraphProof (⇔, 0 ms)
↳6 AND
↳7 PiDP
↳8 UsableRulesProof (⇔, 0 ms)
↳9 PiDP
↳10 PiDPToQDPProof (⇔, 4 ms)
↳11 QDP
↳12 QDPSizeChangeProof (⇔, 0 ms)
↳13 YES
↳14 PiDP
↳15 PiDPToQDPProof (⇔, 0 ms)
↳16 QDP
↳17 MRRProof (⇔, 143 ms)
↳18 QDP
↳19 DependencyGraphProof (⇔, 0 ms)
↳20 TRUE
ORDEREDA_IN_G(.(0, .(X1, X2))) → U2_G(X1, X2, orderedA_in_g(.(X1, X2)))
ORDEREDA_IN_G(.(0, .(X1, X2))) → ORDEREDA_IN_G(.(X1, X2))
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → U3_G(X1, X2, X3, lessB_in_gg(X1, X2))
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → LESSB_IN_GG(X1, X2)
LESSB_IN_GG(s(X1), s(X2)) → U1_GG(X1, X2, lessB_in_gg(X1, X2))
LESSB_IN_GG(s(X1), s(X2)) → LESSB_IN_GG(X1, X2)
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → U4_G(X1, X2, X3, lesscB_in_gg(X1, X2))
U4_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → U5_G(X1, X2, X3, orderedA_in_g(.(X2, X3)))
U4_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
lesscB_in_gg(0, s(X1)) → lesscB_out_gg(0, s(X1))
lesscB_in_gg(s(X1), s(X2)) → U10_gg(X1, X2, lesscB_in_gg(X1, X2))
U10_gg(X1, X2, lesscB_out_gg(X1, X2)) → lesscB_out_gg(s(X1), s(X2))
Infinitary Constructor Rewriting Termination of PiDP implies Termination of TRIPLES
ORDEREDA_IN_G(.(0, .(X1, X2))) → U2_G(X1, X2, orderedA_in_g(.(X1, X2)))
ORDEREDA_IN_G(.(0, .(X1, X2))) → ORDEREDA_IN_G(.(X1, X2))
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → U3_G(X1, X2, X3, lessB_in_gg(X1, X2))
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → LESSB_IN_GG(X1, X2)
LESSB_IN_GG(s(X1), s(X2)) → U1_GG(X1, X2, lessB_in_gg(X1, X2))
LESSB_IN_GG(s(X1), s(X2)) → LESSB_IN_GG(X1, X2)
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → U4_G(X1, X2, X3, lesscB_in_gg(X1, X2))
U4_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → U5_G(X1, X2, X3, orderedA_in_g(.(X2, X3)))
U4_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
lesscB_in_gg(0, s(X1)) → lesscB_out_gg(0, s(X1))
lesscB_in_gg(s(X1), s(X2)) → U10_gg(X1, X2, lesscB_in_gg(X1, X2))
U10_gg(X1, X2, lesscB_out_gg(X1, X2)) → lesscB_out_gg(s(X1), s(X2))
LESSB_IN_GG(s(X1), s(X2)) → LESSB_IN_GG(X1, X2)
lesscB_in_gg(0, s(X1)) → lesscB_out_gg(0, s(X1))
lesscB_in_gg(s(X1), s(X2)) → U10_gg(X1, X2, lesscB_in_gg(X1, X2))
U10_gg(X1, X2, lesscB_out_gg(X1, X2)) → lesscB_out_gg(s(X1), s(X2))
LESSB_IN_GG(s(X1), s(X2)) → LESSB_IN_GG(X1, X2)
LESSB_IN_GG(s(X1), s(X2)) → LESSB_IN_GG(X1, X2)
From the DPs we obtained the following set of size-change graphs:
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → U4_G(X1, X2, X3, lesscB_in_gg(X1, X2))
U4_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
ORDEREDA_IN_G(.(0, .(X1, X2))) → ORDEREDA_IN_G(.(X1, X2))
lesscB_in_gg(0, s(X1)) → lesscB_out_gg(0, s(X1))
lesscB_in_gg(s(X1), s(X2)) → U10_gg(X1, X2, lesscB_in_gg(X1, X2))
U10_gg(X1, X2, lesscB_out_gg(X1, X2)) → lesscB_out_gg(s(X1), s(X2))
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → U4_G(X1, X2, X3, lesscB_in_gg(X1, X2))
U4_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
ORDEREDA_IN_G(.(0, .(X1, X2))) → ORDEREDA_IN_G(.(X1, X2))
lesscB_in_gg(0, s(X1)) → lesscB_out_gg(0, s(X1))
lesscB_in_gg(s(X1), s(X2)) → U10_gg(X1, X2, lesscB_in_gg(X1, X2))
U10_gg(X1, X2, lesscB_out_gg(X1, X2)) → lesscB_out_gg(s(X1), s(X2))
lesscB_in_gg(x0, x1)
U10_gg(x0, x1, x2)
ORDEREDA_IN_G(.(s(X1), .(X2, X3))) → U4_G(X1, X2, X3, lesscB_in_gg(X1, X2))
ORDEREDA_IN_G(.(0, .(X1, X2))) → ORDEREDA_IN_G(.(X1, X2))
POL(.(x1, x2)) = 1 + 2·x1 + 2·x2
POL(0) = 0
POL(ORDEREDA_IN_G(x1)) = x1
POL(U10_gg(x1, x2, x3)) = x1 + x2 + x3
POL(U4_G(x1, x2, x3, x4)) = 1 + 2·x1 + x2 + 2·x3 + 2·x4
POL(lesscB_in_gg(x1, x2)) = x1 + x2
POL(lesscB_out_gg(x1, x2)) = x1 + x2
POL(s(x1)) = 2·x1
U4_G(X1, X2, X3, lesscB_out_gg(X1, X2)) → ORDEREDA_IN_G(.(X2, X3))
lesscB_in_gg(0, s(X1)) → lesscB_out_gg(0, s(X1))
lesscB_in_gg(s(X1), s(X2)) → U10_gg(X1, X2, lesscB_in_gg(X1, X2))
U10_gg(X1, X2, lesscB_out_gg(X1, X2)) → lesscB_out_gg(s(X1), s(X2))
lesscB_in_gg(x0, x1)
U10_gg(x0, x1, x2)